﻿#pragma once

class Character;
class CharacterManager;
class COMCharacterStateMachine;
class COMMonsterDecisionTree;
class DTAction;
class DTCondition;
class DTConditionGroup;
class DTConditionGroupAnd;
class DTConditionGroupOr;
class DTControl;
class DTDecorate;
class DTNode;
class DTParallel;
class DTRandom;
class DTRepeater;
class DTSelector;
class DTSequence;
class CharacterState;
class StateGroup;
class StateParam;
class MovableObject;
class ArrayPool;
class ArrayPoolSingle;
class ArrayPoolSingleChar;
class ArrayPoolThread;
class CharArrayScope;
class CharArrayScopeThread;
class ClassPoolBase;
class ClassPooledObject;
class IntPoolThread;
class CharacterPool;
class CommandPool;
class CommandThreadPool;
class CounterThreadPool;
class DelayCommandPool;
class DTNodePool;
class EventInfoPool;
class GameComponentPool;
class LogInfoPool;
class MySQLCacheDataPool;
class MySQLDataPool;
class PacketTCPPool;
class PacketTCPThreadPool;
class PacketWebSocketPool;
class PacketWebSocketThreadPool;
class StateParamPool;
class StatePool;
class TimePointPool;
class FrameSTLPoolRegister;
class VectorPoolBase;
class VectorPoolManager;
class CmdCharacterManagerDestroyCharacter;
class CmdGlobalDelayLambda;
class CmdMySQLDataBaseDeleteAll;
class CmdMySQLDataBaseDeleteByColumnLLong;
class CmdMySQLDataBaseDeleteByColumnLLong2And;
class CmdMySQLDataBaseDeleteByColumnString;
class CmdMySQLDataBaseDeleteByID;
class CmdMySQLDataBaseInsertCombine;
class CmdMySQLDataBaseInsertData;
class CmdMySQLDataBaseInsertOrUpdateData;
class CmdMySQLDataBaseQueryCountByColumnInt;
class CmdMySQLDataBaseQueryCountByColumnLLong;
class CmdMySQLDataBaseQueryCountByColumnLLong2Or;
class CmdMySQLDataBaseQueryExistByColumnString;
class CmdMySQLDataBaseUpdateAllInt;
class CmdMySQLDataBaseUpdateBool;
class CmdMySQLDataBaseUpdateData;
class CmdMySQLDataBaseUpdateFloat;
class CmdMySQLDataBaseUpdateFloat2;
class CmdMySQLDataBaseUpdateInt;
class CmdMySQLDataBaseUpdateInt2;
class CmdMySQLDataBaseUpdateIntFloat;
class CmdMySQLDataBaseUpdateLLong;
class CmdMySQLDataBaseUpdateLLongInt;
class CmdMySQLDataBaseUpdateLLongList;
class CmdMySQLDataBaseUpdateString;
class CmdMySQLDataBaseUpdateString2;
class CmdNetServerLogoutAccount;
class CmdNetServerReceiveUDPPacket;
class CommandReceiver;
class CommandSystem;
class DelayCommand;
class GameCommand;
class ComponentRegisterFrame;
class Dump;
class FrameDefine;
class FrameEnumCheck;
class FrameStringDefine;
class KEYFRAME;
class LocaleGBKScope;
class LocaleUTF8Scope;
class OT;
class RandomSystem;
class StreamBuffer;
class ComponentKeyframe;
class ComponentTrackTarget;
class GameComponent;
class MovableObjectComponentMove;
class MovableObjectComponentMoveCurve;
class MovableObjectComponentTrackTarget;
class ComponentOwner;
class IComponentBreakable;
class FrameConfigSystem;
class ExcelData;
class ExcelManager;
class ExcelTableBase;
class Counter;
class MySQLCacheData;
class MySQLCacheTable;
class MySQLData;
class MySQLDataHashMapScope;
class MySQLDataListScope;
class MySQLDataScope;
class MySQLManager;
class MySQLTable;
class PreStatementRead;
class PreStatementWrite;
class QueryParam;
class QueryScope;
class SelectCount;
class SQLiteData;
class SQLiteDataReader;
class SQLiteManager;
class SQLiteTableBase;
class SQLiteTableParamBase;
class EventInfo;
class EventProcessBase;
class EventSystem;
class GameEvent;
class IEventListener;
class CharacterFactoryManager;
class CharacterStateFactoryManager;
class GameComponentFactoryManager;
class PacketTCPFactoryManager;
class PacketWebSocketFactoryManager;
class StateParamFactoryManager;
class InputSystem;
class KeyState;
class AnimationCurve;
class CurveBackIn;
class CurveBackInOut;
class CurveBackOut;
class CurveBounceIn;
class CurveBounceInOut;
class CurveBounceOut;
class CurveCircleIn;
class CurveCircleInOut;
class CurveCircleOut;
class CurveCubicIn;
class CurveCubicInOut;
class CurveCubicOut;
class CurveElasticIn;
class CurveElasticInOut;
class CurveElasticOut;
class CurveExpoIn;
class CurveExpoInOut;
class CurveExpoOut;
class CurveLinearOneZero;
class CurveLinearOneZeroOne;
class CurveLinearZeroOne;
class CurveLinearZeroOneZero;
class CurveQuadIn;
class CurveQuadInOut;
class CurveQuadOut;
class CurveQuartIn;
class CurveQuartInOut;
class CurveQuartOut;
class CurveQuintIn;
class CurveQuintInOut;
class CurveQuintOut;
class CurveSineIn;
class CurveSineInOut;
class CurveSineOut;
class KeyframeManager;
class GameLogWrap;
class LogFileInfo;
class LogInfo;
class LogSystem;
class ShareMemoryServer;
class HttpListenInfo;
class HttpServerSystem;
class Packet;
class PacketBit;
class PacketByte;
class PacketTCP;
class PacketWebSocket;
class TCPClient;
class TCPServerClient;
class TCPServerSystem;
class UDPClientInfo;
class UDPServerClient;
class UDPServerSystem;
class WebSocketServerClient;
class WebSocketServerSystem;
class ParamSet;
class StateParamMember;
class StateParamMemberValue;
class SerializableBitData;
class SerializableData;
class SerializerBitRead;
class SerializerBitWrite;
class SerializerRead;
class SerializerWrite;
class FrameComponent;
class ServerFramework;
class FrameStateManager;
class CustomThread;
class ThreadLock;
class ThreadLockScope;
class ThreadManager;
class TimeLock;
class TimePoint;
class TimePointInDay;
class TimePointInHour;
class TimePointInMonth;
class TimePointInWeek;
class TimePointInYear;
class TimePointSystem;
class TimeValue;
class TimeTask;
class TimeTaskSystem;
class SerializeTest;
class FileContent;
class Line2;
class Line3;
class Rect;
class Rect3;
class Triangle2;
class Triangle3;
class TriangleIntersect;
class TriangleIntersect3;